#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define N 3


/*
* 输入:   int (*a)[N]   二维数组a
*         int n         行数
*         int **row     用于接收最大值所在行的指针的地址
* 返回值: a[][N]最大值
*         row 接收最大值所在的行第一个元素的地址
* 功能: 获取二维数组最大值，以及最大值所在行
*/
int max_arr(int(*a)[N], int n, int** row)
{
    int max_num = a[0][0];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (max_num < a[i][j]) {
                *row = a[i];
                max_num = a[i][j];
            }
        }
    }
    return max_num;
}

int main()
{
    int a[][N] = {
        {3, 5, 6},
        {2, 13, 10},
        {4, 11, 9}
    };

    int* row;
    int res = max_arr(a, N, &row);

    printf("max: %d\n", res);

    for (int i = 0; i < N; ++i) {
        printf("%d ", row[i]);
    }


    return 0;
}